Chris Wong [Sat, 25 Apr 2015 00:36:08 +0000 (12:36 +1200)]
Fix the warning to start with a lowercase letter
Chris Wong [Fri, 24 Apr 2015 03:24:46 +0000 (15:24 +1200)]
Add integration tests
Chris Wong [Tue, 21 Apr 2015 23:28:21 +0000 (11:28 +1200)]
Show a warning when the package is renamed
Chris Wong [Tue, 21 Apr 2015 22:54:18 +0000 (10:54 +1200)]
Add a --name option for setting the package name
Chris Wong [Mon, 20 Apr 2015 00:16:29 +0000 (12:16 +1200)]
Strip `rust-` and `-rs` affixes in `cargo new`
Closes #1532
bors [Sun, 19 Apr 2015 07:53:21 +0000 (07:53 +0000)]
Auto merge of #1535 - mohtar:doc-open, r=alexcrichton
`start` is not an actual executable, but rather a built-in command in Command Prompt. The correct way of launching a file using the default application is thus: `cmd /C start "" <file>`.
Fixes #741.
bors [Sun, 19 Apr 2015 01:59:13 +0000 (01:59 +0000)]
Auto merge of #1537 - ozmorph:master, r=alexcrichton
fixes #1536 . Tested with rustc 1.0.0-nightly (
a52182ffd 2015-04-17) (built 2015-04-17).
ozmorph [Sat, 18 Apr 2015 22:12:45 +0000 (18:12 -0400)]
updated threadpool dependency from v0.1.1 to v0.1.4
Mohd Tarmizi [Sat, 18 Apr 2015 21:51:14 +0000 (05:51 +0800)]
Open file correctly in Windows
bors [Sat, 18 Apr 2015 15:20:10 +0000 (15:20 +0000)]
Auto merge of #1533 - mohtar:doc-open, r=wycats
Since #318, the `doc` command generates documentation for binaries in addition to libraries. But currently running `cargo doc --open` would not launch the browser for binary-only packages, even though it should. This commit changes the logic: binaries will be searched when there are no libraries in the package.
A simple test case:
`Cargo.toml`:
[package]
name = "foo"
version = "0.1.0"
authors = []
`src/main.rs`:
pub fn main() {
println!("Hello, world!");
}
EDIT: I should add that this should fix #1472
Mohd Tarmizi [Sat, 18 Apr 2015 09:48:38 +0000 (17:48 +0800)]
`cargo doc --open` should work for binary-only packages too
bors [Thu, 16 Apr 2015 23:05:40 +0000 (23:05 +0000)]
Auto merge of #1531 - alexcrichton:cargo-version, r=brson
Closes #808
Closes #1178
Alex Crichton [Thu, 16 Apr 2015 22:59:14 +0000 (15:59 -0700)]
Bump cargo to 0.2.0
Closes #808
Closes #1178
bors [Thu, 16 Apr 2015 17:43:48 +0000 (17:43 +0000)]
Auto merge of #1530 - mvdnes:doctest-nativedep, r=alexcrichton
This will traverse all native dependencies and add them to the rustdoc command when running tests.
Fixes #1245
Mathijs van de Nes [Thu, 16 Apr 2015 15:00:39 +0000 (17:00 +0200)]
Add native dependencies to doctest
This will traverse all native dependencies and add them to the rustdoc
command when running tests.
Fixes #1245
bors [Tue, 14 Apr 2015 20:50:34 +0000 (20:50 +0000)]
Auto merge of #1523 - critiqjo:bash-complete, r=alexcrichton
Lists:
- all "installed" commands
- options for basic commands
critiqjo [Tue, 14 Apr 2015 18:35:12 +0000 (00:05 +0530)]
Execute `cargo --list` only when needed
critiqjo [Tue, 14 Apr 2015 18:18:22 +0000 (23:48 +0530)]
Added more commands and options
bors [Tue, 14 Apr 2015 16:49:10 +0000 (16:49 +0000)]
Auto merge of #1508 - mohtar:dupdepsbug, r=alexcrichton
Fix #876.
critiqjo [Tue, 14 Apr 2015 15:23:51 +0000 (20:53 +0530)]
Added bash-completion script
Lists:
- all installed commands
- options for basic commands
Mohd Tarmizi [Tue, 14 Apr 2015 02:46:24 +0000 (10:46 +0800)]
Formatting
Mohd Tarmizi [Mon, 13 Apr 2015 18:34:33 +0000 (02:34 +0800)]
Add a test for duplicate build dependency
Mohd Tarmizi [Mon, 13 Apr 2015 17:44:20 +0000 (01:44 +0800)]
Rewrite for readability
Mohd Tarmizi [Sat, 11 Apr 2015 10:18:37 +0000 (18:18 +0800)]
Extend jakerr's fix
Jake Kerr [Sun, 5 Apr 2015 12:39:51 +0000 (21:39 +0900)]
Don't short circuit dep matching as soon as a name matches
bors [Tue, 14 Apr 2015 02:19:39 +0000 (02:19 +0000)]
Auto merge of #1522 - alexcrichton:issue-1512, r=huonw
They weren't rlibs so they were left out, but targets which have `plugin = true`
should be passed in to `--extern` regardless.
Closes #1512
Alex Crichton [Tue, 14 Apr 2015 01:31:48 +0000 (18:31 -0700)]
Be sure to pass plugins to doctest --extern
They weren't rlibs so they were left out, but targets which have `plugin = true`
should be passed in to `--extern` regardless.
Closes #1512
bors [Mon, 13 Apr 2015 16:23:39 +0000 (16:23 +0000)]
Auto merge of #1519 - alfiedotwtf:master, r=alexcrichton
Currently getting:
note: /usr/bin/ld: /home/alfie/tmp/test/target/debug/build/test-
39af07f97c17512a/out/libhello.a(hello.o):
relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
Alfie John [Mon, 13 Apr 2015 12:36:32 +0000 (22:36 +1000)]
docs: fix shared library compilation error
Currently getting:
note: /usr/bin/ld: /home/alfie/tmp/test/target/debug/build/test-
39af07f97c17512a/out/libhello.a(hello.o):
relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
bors [Mon, 13 Apr 2015 04:33:57 +0000 (04:33 +0000)]
Auto merge of #1507 - jimmycuadra:cargo-new-semver, r=alexcrichton
This patch updates the initial version of packages generated with `cargo new` to 0.1.0 (rather than 0.0.1), which better follows SemVer. The docs are also updated to show examples that follow this convention.
For reference, the same change was recently made in Bundler for the Ruby ecosystem: bundler/bundler#3322
Jimmy Cuadra [Sat, 11 Apr 2015 12:19:40 +0000 (05:19 -0700)]
Change the initial version of new packages to 0.1.0, per SemVer.
bors [Fri, 10 Apr 2015 17:40:21 +0000 (17:40 +0000)]
Auto merge of #1501 - alexcrichton:issue-1496, r=huonw
This commit fixes two problems in Cargo:
1. Only libraries targets that produce an rlib can be doc tested
2. Only the rlib output can be doc tested
The rationale for this is listed in listed in the comments of the commit.
Closes #1496
Alex Crichton [Thu, 9 Apr 2015 17:43:49 +0000 (10:43 -0700)]
Only doctest rlibs
This commit fixes two problems in Cargo:
1. Only libraries targets that produce an rlib can be doc tested
2. Only the rlib output can be doc tested
The rationale for this is listed in listed in the comments of the commit.
Closes #1496
bors [Wed, 8 Apr 2015 21:50:03 +0000 (21:50 +0000)]
Auto merge of #1499 - alexcrichton:issue-1497, r=brson
That usage didn't match any docopt patterns so one just needed to be added.
Closes #1497
bors [Wed, 8 Apr 2015 18:34:37 +0000 (18:34 +0000)]
Auto merge of #1498 - hugoduncan:add-cargo-home-to-config-doc, r=steveklabnik
Adds CARGO_HOME to the config documentation.
Alex Crichton [Wed, 8 Apr 2015 18:33:15 +0000 (11:33 -0700)]
Fix `cargo search -h`
That usage didn't match any docopt patterns so one just needed to be added.
Closes #1497
Hugo Duncan [Wed, 8 Apr 2015 18:32:29 +0000 (14:32 -0400)]
Document the CARGO_HOME env var
Adds CARGO_HOME to the config documentation.
bors [Wed, 8 Apr 2015 05:18:33 +0000 (05:18 +0000)]
Auto merge of #1493 - alexcrichton:update-semver, r=alexcrichton
Alex Crichton [Wed, 8 Apr 2015 05:16:37 +0000 (22:16 -0700)]
Update semver to support multiple version reqs
bors [Wed, 8 Apr 2015 00:29:10 +0000 (00:29 +0000)]
Auto merge of #1492 - alexcrichton:issue-1491, r=huonw
Closes #1491
Alex Crichton [Tue, 7 Apr 2015 23:56:45 +0000 (16:56 -0700)]
Don't run doc tests if there's a filter
bors [Tue, 7 Apr 2015 07:45:42 +0000 (07:45 +0000)]
Auto merge of #1477 - alexcrichton:issue-1474, r=huonw
Previously the "add immediate deps" logic bailed out too soon and didn't pick up
all dev-dependencies.
Closes #1474
bors [Sun, 5 Apr 2015 16:40:21 +0000 (16:40 +0000)]
Auto merge of #1486 - IvanUkhov:clone, r=alexcrichton
Hi,
This is a continuation of #1480.
Regards,
Ivan
Ivan Ukhov [Sun, 5 Apr 2015 07:00:01 +0000 (09:00 +0200)]
Derive Clone when deriving Copy
bors [Sun, 5 Apr 2015 06:42:51 +0000 (06:42 +0000)]
Auto merge of #1482 - DavidAwad:patch-1, r=alexcrichton
bors [Sun, 5 Apr 2015 06:21:52 +0000 (06:21 +0000)]
Auto merge of #1483 - tamird:rustup, r=alexcrichton
Passes `make test` locally. r? @alexcrichton
Tamir Duberstein [Sat, 4 Apr 2015 23:19:03 +0000 (16:19 -0700)]
Rustup 2015-04-02
Tamir Duberstein [Sat, 4 Apr 2015 23:18:47 +0000 (16:18 -0700)]
Make `print-new-snapshot` fail on 403
David Awad [Sat, 4 Apr 2015 19:51:31 +0000 (15:51 -0400)]
Update index.md
bors [Fri, 3 Apr 2015 01:13:19 +0000 (01:13 +0000)]
Auto merge of #1475 - alexcrichton:update, r=huonw
Along the way, this also removes the ability to specify `[[lib]]` targets while
getting warnings. While we're at it remove nearly all unstable features that
Cargo is depending on as well!
r? @huonw
bors [Fri, 3 Apr 2015 00:35:44 +0000 (00:35 +0000)]
Auto merge of #1452 - alexcrichton:issue-1355, r=huonw
The hashes would occasionally disappear when the main package registry overwrote
a previous registry source, so this just adds logic to load hashes if they're
missing.
Closes #1355
Alex Crichton [Thu, 2 Apr 2015 18:12:21 +0000 (11:12 -0700)]
Update to rust-2015-04-02
Along the way, this also removes the ability to specify `[[lib]]` targets while
getting warnings. While we're at it remove nearly all unstable features that
Cargo is depending on as well!
Alex Crichton [Thu, 2 Apr 2015 18:51:29 +0000 (11:51 -0700)]
Be sure to include dev-deps for doctests with --extern
Previously the "add immediate deps" logic bailed out too soon and didn't pick up
all dev-dependencies.
Closes #1474
bors [Thu, 2 Apr 2015 18:35:52 +0000 (18:35 +0000)]
Auto merge of #1476 - brson:installer, r=alexcrichton
Brian Anderson [Thu, 2 Apr 2015 18:31:47 +0000 (11:31 -0700)]
Upgrade rust-installer
bors [Tue, 31 Mar 2015 17:07:38 +0000 (17:07 +0000)]
Auto merge of #1455 - alexcrichton:issue-1449, r=brson
Previously --extern was passed for *all* upstream dependencies, causing
conflicts if some had duplicate names. Now cargo only passes --extern for
libraries that were built including immediate dependencies. Cargo also
additionally now properly passes `-L dependency=` instead of just a plain `-L`.
Closes #1449
Alex Crichton [Wed, 25 Mar 2015 19:46:21 +0000 (12:46 -0700)]
Fix passing --extern and -L to doc tests
Previously --extern was passed for *all* upstream dependencies, causing
conflicts if some had duplicate names. Now cargo only passes --extern for
libraries that were built including immediate dependencies. Cargo also
additionally now properly passes `-L dependency=` instead of just a plain `-L`.
Closes #1449
bors [Tue, 31 Mar 2015 16:31:44 +0000 (16:31 +0000)]
Auto merge of #1470 - alexcrichton:update, r=alexcrichton
Alex Crichton [Mon, 30 Mar 2015 20:39:16 +0000 (13:39 -0700)]
Use Entry::or_insert where possible
Alex Crichton [Mon, 30 Mar 2015 19:30:50 +0000 (12:30 -0700)]
Update to rust 2015-03-30
bors [Sun, 29 Mar 2015 06:31:34 +0000 (06:31 +0000)]
Auto merge of #1467 - alexcrichton:update-flate2, r=alexcrichton
There were a few bugs in creation of gzip'd files which caused package creation
to fail in some circumstances.
Closes #1465
Alex Crichton [Sun, 29 Mar 2015 06:30:39 +0000 (23:30 -0700)]
Help diagnose flaky test
Alex Crichton [Sun, 29 Mar 2015 06:08:20 +0000 (23:08 -0700)]
Update flate2-rs
There were a few bugs in creation of gzip'd files which caused package creation
to fail in some circumstances.
Closes #1465
bors [Thu, 26 Mar 2015 23:14:47 +0000 (23:14 +0000)]
Auto merge of #1461 - brson:installer, r=alexcrichton
Brian Anderson [Thu, 26 Mar 2015 23:11:22 +0000 (16:11 -0700)]
Update rust-installer. Fixes --help and interop with NixOS
bors [Thu, 26 Mar 2015 21:42:57 +0000 (21:42 +0000)]
Auto merge of #1405 - alexcrichton:issue-1401, r=alexcrichton
This should inadvertently fix #1401
Alex Crichton [Wed, 11 Mar 2015 18:41:17 +0000 (11:41 -0700)]
Use new `kind=` syntax for libs throughout Cargo
This should inadvertently fix #1401
bors [Thu, 26 Mar 2015 20:18:25 +0000 (20:18 +0000)]
Auto merge of #1458 - alexcrichton:update, r=alexcrichton
Down with as_slice!
bors [Thu, 26 Mar 2015 19:29:34 +0000 (19:29 +0000)]
Auto merge of #1460 - apasel422:1459, r=alexcrichton
closes #1459
bors [Thu, 26 Mar 2015 19:17:20 +0000 (19:17 +0000)]
Auto merge of #1457 - japaric:doc-target, r=alexcrichton
closes #1427
r? @alexcrichton
cc @dpc
Andrew Paseltiner [Thu, 26 Mar 2015 19:07:11 +0000 (15:07 -0400)]
pass translated crate name to doc tests
closes #1459
Alex Crichton [Thu, 26 Mar 2015 18:17:44 +0000 (11:17 -0700)]
Update to rust 2015-03-26
Jorge Aparicio [Thu, 26 Mar 2015 02:06:18 +0000 (21:06 -0500)]
add --target flag support to cargo doc
closes #1427
bors [Wed, 25 Mar 2015 23:31:37 +0000 (23:31 +0000)]
Auto merge of #1453 - alexcrichton:doc-assert, r=huonw
Closes #1454
bors [Wed, 25 Mar 2015 23:13:49 +0000 (23:13 +0000)]
Auto merge of #1451 - alexcrichton:issue-1450, r=huonw
Examples, tests, binaries, etc, are all allowed to have hyphens (cargo does some
renaming internally).
Close #1450
Alex Crichton [Wed, 25 Mar 2015 17:20:50 +0000 (10:20 -0700)]
Only disallow hyphens in lib target names
Examples, tests, binaries, etc, are all allowed to have hyphens (cargo does some
renaming internally).
Close #1450
Alex Crichton [Wed, 25 Mar 2015 19:51:23 +0000 (12:51 -0700)]
Fix an erroneous assertion in `cargo doc`
Alex Crichton [Wed, 25 Mar 2015 18:39:47 +0000 (11:39 -0700)]
Lazily load hashes for registry sources
The hashes would occasionally disappear when the main package registry overwrote
a previous registry source, so this just adds logic to load hashes if they're
missing.
Closes #1355
bors [Wed, 25 Mar 2015 02:30:58 +0000 (02:30 +0000)]
Auto merge of #1443 - alexcrichton:hyphens-to-underscores, r=alexcrichton
This change allows *packages* to have hyphens in them, but they are always
translated to underscores when translated to a crate name. This means that all
crates are compiled with a `--crate-name` that has no hyphens (as well as
`--extern` directives having no hyphens).
Binaries and examples, however, are allowed to contain
hyphens in their name. The "crate name" will still have an underscore, but the
output will be in the same dasherized name.
Explicitly named targets are not allowed to have hyphens in them as well.
Alex Crichton [Fri, 20 Mar 2015 20:40:27 +0000 (13:40 -0700)]
Normalize hyphens to underscores in crate names
This change allows *packages* to have hyphens in them, but they are always
translated to underscores when translated to a crate name. This means that all
crates are compiled with a `--crate-name` that has no hyphens (as well as
`--extern` directives having no hyphens).
Binaries, examples, benchmarks, and tests, however, are allowed to contain
hyphens in their name. The "crate name" will still have an underscore, but the
output will be in the same dasherized name.
Explicitly named targets are not allowed to have hyphens in them as well.
bors [Tue, 24 Mar 2015 22:15:53 +0000 (22:15 +0000)]
Auto merge of #1445 - alexcrichton:issue-727, r=alexcrichton
Closes #727
Alex Crichton [Tue, 24 Mar 2015 01:01:27 +0000 (18:01 -0700)]
Add a test for tests in benchmarks
Closes #727
bors [Tue, 24 Mar 2015 17:55:17 +0000 (17:55 +0000)]
Auto merge of #1444 - alexcrichton:issue-1398, r=huonw
This commit removes the ndebug support from Cargo and also adds a new
configuration option for profiles, `debug-assertions`, which controls whether
debug assertions in the compiler are turned on or not.
Closes #1398
Alex Crichton [Tue, 24 Mar 2015 00:45:41 +0000 (17:45 -0700)]
Remove ndebug, add config of debug assertions
This commit removes the ndebug support from Cargo and also adds a new
configuration option for profiles, `debug-assertions`, which controls whether
debug assertions in the compiler are turned on or not.
Closes #1398
bors [Tue, 24 Mar 2015 00:15:20 +0000 (00:15 +0000)]
Auto merge of #1441 - alexcrichton:issue-1323, r=bson
This commit is a complete overhaul of how Cargo handles compilation profiles
internally. The external interface of Cargo is not affected by this change.
Previously each Target had a Profile embedded within it. Conceptually a Target
is an entry in the manifest (a binary, benchmark, etc) and a Profile controlled
various flags (e.g. --test, -C opt-level, etc). Each Package then contained many
profiles for each possible compilation mode. For example a Package would have
one target for testing a library, benchmarking a library, documenting a library,
etc. When it came to building these targets, Cargo would filter out the targets
listed to determine what needed to be built.
This filtering was largely done based off an "environment" represented as a
string. Each mode of compilation got a separate environment string like `"test"`
or `"bench"`. Altogether, however, this approach had a number of drawbacks:
* Examples in release mode do not currently work. This is due to how examples
are classified and how release mode is handled (e.g. the "release" environment
where examples are meant to be built in the "test" environment).
* It is not trivial to implement `cargo test --release` today.
* It is not trivial to implement `cargo build --bin foo` where *only* the binary
`foo` is built. The same is true for examples.
* It is not trivial to add selective building of a number of
binaries/examples/etc.
* Filtering the list of targets to build has some pretty hokey logic that
involves pseudo-environments like "doc-all" vs "doc". This logic is duplicated
in a few places and in general is quite brittle.
* The TOML parser greatly affects compilation due to the time at which profiles
are generated, which seems somewhat backwards.
* Profiles must be overridden, but only partially, at compile time becuase only
the top-level package's profile is applied.
In general, this system just needed an overhaul. This commit made a single
change of separating `Profile` from `Target` and then basically hit `make` until
all the tests passed again. The other large architectural changes are:
* Environment strings are now entirely gone.
* Filters are implemented in a much more robust fashion.
* Release mode is now handled much more gracefully.
* The unit of compilation in the backend is no longer (package, target) but
rather (package, target, profile). This change had to be propagated many
location in the `cargo_rustc` module.
* The backend does not filter targets to build *at all*. All filtering now
happens entirely in the frontend.
I'll test issues after this change lands, but the motivation behind this is to
open the door to quickly fixing a number of outstanding issues against Cargo.
This change itself is not intended to close many bugs.
Alex Crichton [Mon, 23 Mar 2015 23:56:29 +0000 (16:56 -0700)]
Fix tests for windows
Alex Crichton [Mon, 23 Mar 2015 23:22:04 +0000 (16:22 -0700)]
len() == 0 => is_empty()
bors [Mon, 23 Mar 2015 21:05:05 +0000 (21:05 +0000)]
Auto merge of #1440 - tamird:rustup, r=alexcrichton
@alexcrichton
Tamir Duberstein [Mon, 23 Mar 2015 20:53:28 +0000 (13:53 -0700)]
Make sure test directory exists
Tamir Duberstein [Mon, 23 Mar 2015 03:15:41 +0000 (20:15 -0700)]
Remove unneeded `allow`s
Tamir Duberstein [Sun, 22 Mar 2015 23:58:11 +0000 (16:58 -0700)]
Update to rust 2015-03-22
Alex Crichton [Mon, 23 Mar 2015 18:49:56 +0000 (11:49 -0700)]
Fix printing `Fresh` for crates
Alex Crichton [Mon, 23 Mar 2015 18:33:22 +0000 (11:33 -0700)]
Fix trying to document build scripts
Alex Crichton [Mon, 23 Mar 2015 05:01:55 +0000 (22:01 -0700)]
Fix documenting binaries with libraries
Alex Crichton [Sun, 22 Mar 2015 19:25:54 +0000 (12:25 -0700)]
Fix `cargo doc`
Both tweak how deep documentation is compiled as well as fixing up the
dependencies for a documented target.
Alex Crichton [Sat, 21 Mar 2015 03:23:53 +0000 (20:23 -0700)]
Update tests for tweaked error messages
Alex Crichton [Sat, 21 Mar 2015 03:23:07 +0000 (20:23 -0700)]
Don't factor bins into fingerprint calculations
The dependency is just there to get them to compile, not to actually induce
recompiles.
Alex Crichton [Sat, 21 Mar 2015 03:08:13 +0000 (20:08 -0700)]
Fix fingerprints of build scripts that aren't compiled
Alex Crichton [Sat, 21 Mar 2015 03:00:03 +0000 (20:00 -0700)]
Update some error messages in tests
Alex Crichton [Sat, 21 Mar 2015 02:59:47 +0000 (19:59 -0700)]
Don't compile build scripts if they aren't run